package fina2.dcs.security;

import java.math.BigDecimal;
import java.util.List;

import javax.ejb.Local;

@Local
public interface UserLocal {

	public void remove();

	public User findByEmail(String email);

	public User findByLogin(String username);

	public List<String> loadUserFiTypes(BigDecimal userId);

	public String findById(BigDecimal userId);

	public BigDecimal getUserId(String username);

	public User findByLoginPassword(String username, String password);

	public User getCurrentUser();

	public String hashPassword(String password);

	public boolean hasPermission(String permKey);

	public boolean hasPermission(BigDecimal userId, String permKey);

	public String logout();

	public List<User> getAllUsers();

	public void updateCurrentUser();

	public List<String> getAllLogins();

	public List<String> getUserPermissions(BigDecimal userId);

	public boolean currentUserSa();
}
